package com.lihepeng.leecode.frequency.LinkedList;

/**
 * 验证链表是不是存在环
 */
public class Solution6 {
    /**
     * 解题思想
     * 使用两个指针 一个移动一步 一个移动两步，如果存在环，两个指针会相遇
     * @param head
     * @return
     */
    public boolean hasCycle(ListNode head) {
        if (head ==null ){
             return false;
        }
        ListNode fast = head.next;
        ListNode slow = head;
        while (fast!=null && fast.next!=null) {
            fast = fast.next.next;
            slow = slow.next;
            if (fast == slow) {
                return true;
            }
        }
        return false;
    }
}
